home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / libs / identify.lha / Identify / include / libraries / identify.h next >
C/C++ Source or Header  |  1997-04-18  |  10KB  |  223 lines

  1. /*
  2. **      $VER: identify.i 6.0 (13.4.97)
  3. **
  4. **      identify.library definitions
  5. **
  6. **      (C) Copyright 1996-97 Richard Koerber
  7. **      All Rights Reserved.
  8. */
  9.  
  10. #ifndef LIBRARIES_IDENTIFY_H
  11. #define LIBRARIES_IDENTIFY_H    (1)
  12.  
  13. #ifndef EXEC_TYPES_H
  14. #include <exec/types.h>
  15. #endif
  16.  
  17. #ifndef EXEC_LIBRARIES_H
  18. #include <exec/libraries.h>
  19. #endif
  20.  
  21. #ifndef UTILITY_TAGITEM_H
  22. #include <utility/tagitem.h>
  23. #endif
  24.  
  25. #define _IDTAGS (0xCD450000)
  26.  
  27. /* ------------------------------------------------------------------------ *
  28. **  Generic library informations
  29. */
  30. #define IDENTIFYVERSION (6)
  31.  
  32. struct IdentifyBase {
  33.   struct  Library ifyb_LibNode;
  34. };
  35.  
  36. #define IDENTIFYBUFLEN  (50)            /*  default buffer length */
  37.  
  38. /* ------------------------------------------------------------------------ *
  39. **  Expansion() tags
  40. */
  41. #define IDTAG_ConfigDev   (_IDTAGS+0x00)  /* (struct ConfigDev *) ConfigDev */
  42.                                           /*  structure to be evaluated */
  43. #define IDTAG_ManufID     (_IDTAGS+0x01)  /* UWORD manufacturer ID if no */
  44.                                           /*  ConfigDev is available */
  45. #define IDTAG_ProdID      (_IDTAGS+0x02)  /* UBYTE product ID if no */
  46.                                           /*  ConfigDev is available */
  47. #define IDTAG_StrLength   (_IDTAGS+0x03)  /* UWORD of maximum buffer length, */
  48.                                           /*  including termination. Default */
  49.                                           /*  is 50. */
  50. #define IDTAG_ManufStr    (_IDTAGS+0x04)  /* STRPTR of manufacturer name */
  51.                                           /*  puffer, or NULL */
  52. #define IDTAG_ProdStr     (_IDTAGS+0x05)  /* STRPTR of product name */
  53.                                           /*  puffer, or NULL */
  54. #define IDTAG_ClassStr    (_IDTAGS+0x06)  /* STRPTR of product class */
  55.                                           /*  puffer, or NULL */
  56. #define IDTAG_DeadStr     (_IDTAGS+0x07)  /* STRPTR deadend or recoverable alert? */
  57. #define IDTAG_SubsysStr   (_IDTAGS+0x08)  /* STRPTR alert subsystem */
  58. #define IDTAG_GeneralStr  (_IDTAGS+0x09)  /* STRPTR alert general cause */
  59. #define IDTAG_SpecStr     (_IDTAGS+0x0A)  /* STRPTR alert specific cause */
  60. #define IDTAG_FuncNameStr (_IDTAGS+0x0B)  /* STRPTR function name */
  61. #define IDTAG_Expansion   (_IDTAGS+0x0C)  /* (struct ConfigDev **) for a */
  62.                                           /*  complete expansion check. Init */
  63.                                           /*  the variable with NULL. */
  64.  
  65. /* ------------------------------------------------------------------------ *
  66. **  Hardware description types
  67. */
  68. #define IDHW_SYSTEM       (0)     /*  System (Amiga,DraCo,...)            [V2] */
  69. #define IDHW_CPU          (1)     /*  CPU (68000,68010,...,68060) */
  70. #define IDHW_FPU          (2)     /*  FPU (---,68881,68882,68040,68060) */
  71. #define IDHW_MMU          (3)     /*  MMU (---,68852,68030,68040,68060) */
  72. #define IDHW_OSVER        (4)     /*  OS Version (V*.*) */
  73. #define IDHW_EXECVER      (5)     /*  Exec Version (V*.*) */
  74. #define IDHW_WBVER        (6)     /*  Workbench Version (---,V*.*) */
  75. #define IDHW_ROMSIZE      (7)     /*  OS ROM Size (*KB, *MB) */
  76. #define IDHW_CHIPSET      (8)     /*  Chipset (OCS,ECS,AGA,DraCo) */
  77. #define IDHW_GFXSYS       (9)     /*  Graphic OS (AmigaOS, CyberGraphX, ...) */
  78. #define IDHW_CHIPRAM      (10)    /*  All Chip RAM (*KB, *MB, *GB) */
  79. #define IDHW_FASTRAM      (11)    /*  All Fast RAM (*KB, *MB, *GB) */
  80. #define IDHW_RAM          (12)    /*  All Total RAM (*KB, *MB, *GB) */
  81. #define IDHW_SETPATCHVER  (13)    /*  SetPatch Version (---,V*.*)         [V4] */
  82. #define IDHW_AUDIOSYS     (14)    /*  Audio OS (AmigaOS, AHI, ...)        [V5] */
  83. #define IDHW_OSNR         (15)    /*  AmigaOS (2.04, 3.1, ...) */
  84. #define IDHW_VMMCHIPRAM   (16)    /*  VMM Chip RAM (*KB, *MB, *GB) */
  85. #define IDHW_VMMFASTRAM   (17)    /*  VMM Fast RAM (*KB, *MB, *GB) */
  86. #define IDHW_VMMRAM       (18)    /*  VMM Total RAM (*KB, *MB, *GB) */
  87. #define IDHW_PLNCHIPRAM   (19)    /*  Plain Chip RAM (*KB, *MB, *GB) */
  88. #define IDHW_PLNFASTRAM   (20)    /*  Plain Fast RAM (*KB, *MB, *GB) */
  89. #define IDHW_PLNRAM       (21)    /*  Plain Total RAM (*KB, *MB, *GB) */
  90. #define IDHW_VBR          (22)    /*  Vector Base Register                [V6] */
  91. #define IDHW_LASTALERT    (23)    /*  Last Alert code */
  92. #define IDHW_VBLANKFREQ   (24)    /*  VBlank Frequency */
  93. #define IDHW_POWERFREQ    (25)    /*  Power Frequency */
  94. #define IDHW_ECLOCK       (26)    /*  EClock */
  95. #define IDHW_SLOWRAM      (27)    /*  Plain Slow RAM (*KB, *MB, *GB) */
  96. #define IDHW_GARY         (28)    /*  Gary (---,Normal,...) */
  97. #define IDHW_RAMSEY       (29)    /*  RAMSEY (---,D,F) */
  98. #define IDHW_BATTCLOCK    (30)    /*  Battery Backed Up Clock (---,Found) */
  99. #define IDHW_NUMBEROF     (31)    /*  Number of types, PRIVATE! */
  100.  
  101. /* ------------------------------------------------------------------------* *
  102. **  IDHW_SYSTEM numerical result codes
  103. */
  104. #define IDSYS_AMIGA1000 (0)       /*  Amiga 1000 */
  105. #define IDSYS_AMIGAOCS  (1)       /*  OCS Amiga 500/2000 */
  106. #define IDSYS_AMIGAECS  (2)       /*  ECS Amiga 500/2000 */
  107. #define IDSYS_AMIGA500  (3)       /*  Amiga 500 */
  108. #define IDSYS_AMIGA2000 (4)       /*  Amiga 2000 */
  109. #define IDSYS_AMIGA3000 (5)       /*  Amiga 3000 */
  110. #define IDSYS_CDTV      (6)       /*  CDTV */
  111. #define IDSYS_AMIGA600  (7)       /*  Amiga 600 */
  112. #define IDSYS_CD32      (8)       /*  CD32 */
  113. #define IDSYS_AMIGA1200 (9)       /*  Amiga 1200 */
  114. #define IDSYS_AMIGA4000 (10)      /*  Amiga 4000 */
  115. #define IDSYS_DRACO     (11)      /*  DraCo */
  116.  
  117. /* ------------------------------------------------------------------------* *
  118. **  IDHW_CPU numerical result codes
  119. */
  120. #define IDCPU_68000     (0)       /*  68000 */
  121. #define IDCPU_68010     (1)       /*  68010 */
  122. #define IDCPU_68020     (2)       /*  68020 */
  123. #define IDCPU_68030     (3)       /*  68030 */
  124. #define IDCPU_68EC030   (4)       /*  68EC030 (without MMU) */
  125. #define IDCPU_68040     (5)       /*  68040 */
  126. #define IDCPU_68LC040   (6)       /*  68LC040 (without FPU) */
  127. #define IDCPU_68060     (7)       /*  68060 */
  128. #define IDCPU_68LC060   (8)       /*  68LC060 (without FPU) */
  129.  
  130. /* ------------------------------------------------------------------------* *
  131. **  IDHW_FPU numerical result codes
  132. */
  133. #define IDFPU_NONE      (0)       /*  no FPU */
  134. #define IDFPU_68881     (1)       /*  68881 */
  135. #define IDFPU_68882     (2)       /*  68882 */
  136. #define IDFPU_68040     (3)       /*  68040 */
  137. #define IDFPU_68060     (4)       /*  68060 */
  138.  
  139. /* ------------------------------------------------------------------------* *
  140. **  IDHW_MMU numerical result codes
  141. */
  142. #define IDMMU_NONE      (0)       /*  no MMU */
  143. #define IDMMU_68851     (1)       /*  68851 */
  144. #define IDMMU_68030     (2)       /*  68030 */
  145. #define IDMMU_68040     (3)       /*  68040 */
  146. #define IDMMU_68060     (4)       /*  68060 */
  147.  
  148. /* ------------------------------------------------------------------------* *
  149. **  IDHW_OSNR numerical result codes
  150. */
  151. #define IDOS_UNKNOWN    (0)       /*  <V36 or >V41 */
  152. #define IDOS_2_0        (1)       /*  OS2.0  (V36) */
  153. #define IDOS_2_04       (2)       /*  OS2.04 (V37) */
  154. #define IDOS_2_1        (3)       /*  OS2.1  (V38) */
  155. #define IDOS_3_0        (4)       /*  OS3.0  (V39) */
  156. #define IDOS_3_1        (5)       /*  OS3.1  (V40) */
  157. #define IDOS_3_2        (6)       /*  OS3.2  (V41) */
  158.  
  159. /* ------------------------------------------------------------------------* *
  160. **  IDHW_CHIPSET numerical result codes
  161. */
  162. #define IDCS_OCS        (0)       /*  OCS */
  163. #define IDCS_ECS        (1)       /*  ECS */
  164. #define IDCS_AGA        (2)       /*  AGA */
  165. #define IDCS_ALTAIS     (3)       /*  DraCo Altais */
  166.  
  167. /* ------------------------------------------------------------------------* *
  168. **  IDHW_GFXSYS numerical result codes
  169. */
  170. #define IDGOS_AMIGAOS   (0)       /*  Plain AmigaOS */
  171. #define IDGOS_EGS       (1)       /*  EGS */
  172. #define IDGOS_RETINA    (2)       /*  Retina */
  173. #define IDGOS_GRAFFITI  (3)       /*  Graffiti */
  174. #define IDGOS_TIGA      (4)       /*  TIGA */
  175. #define IDGOS_PROBENCH  (5)       /*  Merlin ProBench */
  176. #define IDGOS_PICASSO   (6)       /*  Picasso */
  177. #define IDGOS_CGX       (7)       /*  CyberGraphX */
  178. #define IDGOS_CGX3      (8)       /*  CyberGraphX 3D */
  179. #define IDGOS_PICASSO96 (9)       /*  Picasso96 */
  180.  
  181. /* ------------------------------------------------------------------------* *
  182. **  IDHW_AUDIOSYS numerical result codes
  183. */
  184. #define IDAOS_AMIGAOS    (0)      /*  Plain AmigaOS */
  185. #define IDAOS_MAESTIX    (1)      /*  MaestroPro driver */
  186. #define IDAOS_TOCCATA    (2)      /*  Toccata driver */
  187. #define IDAOS_PRELUDE    (3)      /*  Prelude driver */
  188. #define IDAOS_AHI        (4)      /*  AHI */
  189. #define IDAOS_MACROAUDIO (5)      /*  MacroAudio */
  190.  
  191. /* ------------------------------------------------------------------------* *
  192. **  IDHW_GARY numerical result codes
  193. */
  194. #define IDGRY_NONE      (0)       /*  No Gary available */
  195. #define IDGRY_NORMAL    (1)       /*  Normal Gary */
  196. #define IDGRY_ENHANCED  (2)       /*  Enhanced Gary */
  197.  
  198. /* ------------------------------------------------------------------------* *
  199. **  IDHW_RAMSEY numerical result codes
  200. */
  201. #define IDRSY_NONE      (0)       /*  No RamSey available */
  202. #define IDRSY_REVD      (1)       /*  RamSey Revision D */
  203. #define IDRSY_REVF      (2)       /*  RamSey Revision F */
  204.  
  205. /* ------------------------------------------------------------------------ *
  206. **  Error codes
  207. */
  208. /* Positive error codes are DOS errors! */
  209. #define IDERR_OKAY      (0)     /* No error */
  210. #define IDERR_NOLENGTH  (-1)    /* Buffer length is 0 ?? */
  211. #define IDERR_BADID     (-2)    /* Missing or bad board ID */
  212. #define IDERR_NOMEM     (-3)    /* Not enough memory */
  213. #define IDERR_NOFD      (-4)    /* No fitting FD file found */
  214. #define IDERR_OFFSET    (-5)    /* Function offset not found */
  215. #define IDERR_DONE      (-6)    /* Done with traversing (not an error) */
  216.  
  217. /* ------------------------------------------------------------------------ *
  218. **  That's all...
  219. */
  220.  
  221. #endif
  222.  
  223.